﻿<%@ Page Language="C#" AutoEventWireup="true" Inherits="Documentation_CRUD_Introduction" Codebehind="Introduction.aspx.cs" %>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Página sin título</title>
    <link href="../../Css/Layout.css" rel="stylesheet" type="text/css"/>       
</head>
<body>
    <form id="form1" runat="server">
    <div>

        <span class="title">Pampa.Net.CRUD</span>
        <br />
        <br />
        This library resolve the most common problems associated to the building of an editing page.
        It has two main components to editing and viewing entities in a page (EntityEdit and EntitiyView).
        <br />
        <br />
        To use it, we just need to write the edit and view section in the XML configuration file for each entity that we want to edit or view.
        There will be specified properties, validations, grouping, etc.
        Then, when the property 'Entity' is setted to the component it will be able to find the XML according to the type of the entity.
        <br />
        <br />
        <br />
                

		<span class="subtitle">Grouping the Information</span>
		<br />
		<br />
		Sometimes in an editing page we want to cluster the data. 
		It is easy addressable defining groups in the XML configuration.
		<br />
		<br />
        <br />

		<span class="subtitle">Repetitive Data</span>
		<br />
		<br />
		Suppose we have a list of phones associated to a customer. 
		If we want to edit this list in the same page where we will be editing the rest of the customer's properties 
		, we will have to build a custom solution and probably write a lot of JavaScript code. 
		With Pampa we just need to define a repetitive group in the XML configuration associating this group with
		the property 'Phones' of the entity Customer.
		<br />
		<br />
        <br />
        
				
		<span class="subtitle">Client Side Validations</span>
		<br />
		<br />
		There are basically tree types of validations which could be associated to the edition of a property in the XML Configuration.
		'RequiredValidation' for compulsory fields, 
		'PatternValidation' which allows the use of regular expressions (it is usefull to validate things as emails), 
		'RangeValidation' which allows the validation of types and ranges (e.g. a number between 5 and 10).
		<br />
		<br />
        <br />
        

		<span class="subtitle">Nested Controls</span>
		<br />
		<br />
		Normally, in an edition page, it is required to fill a dropdown list depending on the value of another field in the same page. 
		For example, if we are showing countries and states we probably will want to change the content of the list with states depending on the country selected.
		It is easily addressed setting, in the XML configuration file, 'ParentId' and 'ForeingProperty' in the property that represent the state.
		<br />
		<br />
        <br />
        
		
		<span class="subtitle">Check Lists & Selectors</span>
		<br />
		<br />
		These are two special custom controls built in the framework to address common functionality in edition pages.
		The CheckList is a list which allows to select more than one item. 
		The Selector is a custom control that allows to select an item from a big list writing part of its description 
		(like when we type the email of a receiver in Gmail)
        <br />
        <br />
        <br />
 
 
        <span class="subtitle">Security</span>
        <br />
        <br />
        Asociating a SecurityManager to the EntityEdit component, it is possible to manage which user can edit and even see each property in an edition page.
        <br />
        <br />
        <br />        
    </div>
    </form>
</body>
</html>
